package com.haojin.mybatis.mapper;

import com.haojin.mybatis.pojo.User;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 *   MyBatis各种查询功能
 * @author .29.
 * @create 2023-03-10 16:34
 */
public interface SelectMapper {
    /**
     * 根据id查询用户信息
     */
    User getUserById(@Param("id")Integer id);

    /**
     * 查询所有信息
     */
    List<User> getAllUsers();

    /**
     * 查询总记录数
     */
    Integer getCount();

    /**
     * 根据id查询用户信息为一个map集合
     */
    Map<String,Object> getUserByIdToMap(@Param("id") Integer id);

    /**
     * 查询所有用户信息为map集合（放到 List<Map>种 或使用@MapKey）
     */
    @MapKey("id")  //设置集合的键，必须是不重复字段
    Map<String,Object> getAllUserToMap();

}
